package com.kingmed.kmss.admin.modules.sys.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.kingmed.kmss.admin.modules.sys.model.SysOpenUrl;

import java.util.List;
import java.util.Map;

/**
 * 对外授权接口清单Service接口
 * 
 * @author kmp
 * @date 2022-12-16
 */
public interface ISysOpenUrlService extends IService<SysOpenUrl>
{
    /**
     * 查询对外授权接口清单
     * 
     * @param urlId 对外授权接口清单主键
     * @return 对外授权接口清单
     */
    SysOpenUrl selectSysOpenUrlByUrlId(String urlId);

    /**
     * 查询对外授权接口清单列表
     * 
     * @param sysOpenUrl 对外授权接口清单
     * @return 对外授权接口清单集合
     */
    List<SysOpenUrl> selectSysOpenUrlList(SysOpenUrl sysOpenUrl);

    /**
     * 新增对外授权接口清单
     * 
     * @param sysOpenUrl 对外授权接口清单
     * @return 结果
     */
    boolean insertSysOpenUrl(SysOpenUrl sysOpenUrl);

    /**
     * 修改对外授权接口清单
     * 
     * @param sysOpenUrl 对外授权接口清单
     * @return 结果
     */
    boolean updateSysOpenUrl(SysOpenUrl sysOpenUrl);

    /**
     * 批量删除对外授权接口清单
     * 
     * @param urlIds 需要删除的对外授权接口清单主键集合
     * @return 结果
     */
    boolean deleteSysOpenUrlByUrlIds(String[] urlIds);

    /**
     * 删除对外授权接口清单信息
     * 
     * @param urlId 对外授权接口清单主键
     * @return 结果
     */
    boolean deleteSysOpenUrlByUrlId(String urlId);

    /**
     * 根据主键集合获取数据
     * @param ids
     * @return
     */
    Map<Long, SysOpenUrl> listByIdsReturnMap(List<Long> ids);

    /**
     * 分页
     * @param sysOpenUrl
     * @param pageNum
     * @param pageSize
     * @return
     */
    Page<SysOpenUrl> list(SysOpenUrl sysOpenUrl, Integer pageNum, Integer pageSize);
}
